import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class Calculation_System_V03 {
    public static void main(String[] args) {
        System.out.println("加减法口算练习系统-v0.3");
        Random random = new Random();
        List<String> expressions = new ArrayList<>(); // 存储已生成的算式（去重）
        int total = 50;
        int addCount = 30; // 加法30道（比例6:4）
        int subCount = 20; // 减法20道

        // 生成加法算式（去重）
        while (expressions.size() < addCount) {
            int num1 = random.nextInt(100);
            int num2 = random.nextInt(100 - num1);
            String exp = num1 + " + " + num2;
            // 避免重复（如"2+3"和"3+2"视为不同算式，保持原始顺序）
            if (!expressions.contains(exp)) {
                expressions.add(exp + " = " + (num1 + num2));
            }
        }

        // 生成减法算式（去重）
        while (expressions.size() < total) {
            int num1 = random.nextInt(100);
            int num2 = random.nextInt(num1 + 1);
            String exp = num1 + " - " + num2;
            if (!expressions.contains(exp)) {
                expressions.add(exp + " = " + (num1 - num2));
            }
        }

        // 输出（每行5道）
        for (int i = 0; i < expressions.size(); i++) {
            System.out.printf("%-15s", expressions.get(i)); // 左对齐，固定长度
            if ((i + 1) % 5 == 0) {
                System.out.println();
            }
        }
    }
}